package com.qinge.blog.dao;

import com.qinge.blog.entity.BlogRole;
import com.qinge.blog.entity.BlogRoleExample;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface BlogRoleDao {
    /**
     * countByExample
     * @param example
     * @return 
     */
    long countByExample(BlogRoleExample example);

    /**
     * deleteByExample
     * @param example
     * @return 
     */
    int deleteByExample(BlogRoleExample example);

    /**
     * deleteByPrimaryKey
     * @param id
     * @return 
     */
    int deleteByPrimaryKey(String id);

    /**
     * insert
     * @param record
     * @return 
     */
    int insert(BlogRole record);

    /**
     * insertSelective
     * @param record
     * @param selective
     * @return 
     */
    int insertSelective(@Param("record") BlogRole record, @Param("selective") BlogRole.Column ... selective);

    /**
     * selectByExample
     * @param example
     * @return 
     */
    List<BlogRole> selectByExample(BlogRoleExample example);

    /**
     * selectByPrimaryKey
     * @param id
     * @return 
     */
    BlogRole selectByPrimaryKey(String id);

    /**
     * updateByExampleSelective
     * @param record
     * @param example
     * @param selective
     * @return 
     */
    int updateByExampleSelective(@Param("record") BlogRole record, @Param("example") BlogRoleExample example, @Param("selective") BlogRole.Column ... selective);

    /**
     * updateByExample
     * @param record
     * @param example
     * @return 
     */
    int updateByExample(@Param("record") BlogRole record, @Param("example") BlogRoleExample example);

    /**
     * updateByPrimaryKeySelective
     * @param record
     * @param selective
     * @return 
     */
    int updateByPrimaryKeySelective(@Param("record") BlogRole record, @Param("selective") BlogRole.Column ... selective);

    /**
     * updateByPrimaryKey
     * @param record
     * @return 
     */
    int updateByPrimaryKey(BlogRole record);

    /**
     * batchInsert
     * @param list
     * @return 
     */
    int batchInsert(@Param("list") List<BlogRole> list);

    /**
     * batchInsertSelective
     * @param list
     * @param selective
     * @return 
     */
    int batchInsertSelective(@Param("list") List<BlogRole> list, @Param("selective") BlogRole.Column ... selective);

    /**
     * upsert
     * @param record
     * @return 
     */
    int upsert(BlogRole record);

    /**
     * upsertSelective
     * @param record
     * @return 
     */
    int upsertSelective(@Param("record") BlogRole record, @Param("selective") BlogRole.Column ... selective);
}